#pragma once

#include "../SQLExprImpl.h"
// #include "../../visitor/SQLASTVisitor.h"

#include "SQLLiteralExpr.h"
// using boost::rational;
// typedef rational<double> RNumber;

class SQLNumericLiteralExpr 
: virtual public SQLExprImpl, 
virtual public SQLLiteralExpr
{
public:
  SQLNumericLiteralExpr()
  {
  }

  virtual ~SQLNumericLiteralExpr()
  {
  }

  virtual double getNumber() = 0;

  virtual void setNumber(double number){};
  virtual SQLObject_ptr clone() override = 0;
};
